import java.util.Arrays;
import java.util.Scanner;

//给定一个大小为 n 的数组，找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。
//
//
//
//你可以假设数组是非空的，并且给定的数组总是存在多数元素。
public class Question7 {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        System.out.println("请输入给定数组的元素个数：");
        int n = sc.nextInt();
        int[] arr = new int[n];

        System.out.println("请输入给定数组的元素：");

        int i = 0;

        while(sc.hasNextInt()){//不如写成一个输入方法呢？

            //arr[sc.nextInt()]++;//这种写法，idea提示的//好像有点问题，ArrayIndexOutOfBoundsException
            arr[i] = sc.nextInt();
            i++;

        }
        System.out.println(Arrays.toString(arr));

        int order = most(arr);
        System.out.println("多数元素是"+arr[order]);

    }

    public static int most(int[] arr){

        int i = 0;
        int j = 0;

        int n = arr.length;
        for(i = 0; i < arr.length; i++){

            int tmp = arr[i];
            int count = 0;
            for(j = 0; j < arr.length; j++){

                if(tmp == arr[j]){

                    count++;

                }

            }
            if(count > n/2){

                return i;

            }


        }
        return -1;

    }

}
